<?php
/**
 * ORM de la tabla "orquesta_categoria"
 * @author Sahib J. Leo
 */
class OrquestaIntegrante extends OfjORM
{
  const IMG_WIDTH = 200;
  const IMG_HEIGHT = 265;
  const IMG_PATH = 'img/uploads/integrantes/';

  public function __construct($from_static = false)
  {
    parent::__construct(__CLASS__, 'orquesta_integrantes', 'default', $from_static);
  }

  /**
   * Devuelve la URL de la imagen de un integrante con el ID $integrante_id
   * 
   * @param  int $integrante_id
   * @return string
   */
  public static function getImageUrl($integrante_id)
  {
    $img_url = self::IMG_PATH . "$integrante_id.jpg";
    if( is_file(PATH . $img_url) ){
      return $img_url;
    } else {
      return self::IMG_PATH . 'no-image.jpg';
    }
  }

  /**
   * Borra los registros dummy de integrantes
   */
  public static function deleteDummy()
  {
    $criteria = array(
      'where' => '`orquesta_categoria_id` IS NULL '
        . 'AND `fecha` < DATE_SUB(NOW(), INTERVAL 1 DAY)'
    );
    foreach(self::instance()->find($criteria) as $Integrante){
      self::deleteImage($Integrante->id);
    }
    self::instance()->delete($criteria);
  }

  /**
   * Borra la imagen de un integrante con el ID $integrante_id
   * @param  int $integrante_id
   */
  public static function deleteImage($integrante_id)
  {
    $image_path = PATH . self::IMG_PATH . "$integrante_id.jpg";
    if( is_file($image_path) ){
      unlink($image_path);
    }
  }

  public static function instance()
  {
    return new OrquestaIntegrante(true);
  }
}